package model

import "time"

// LabelsysDataset mapped from table <labelsys_dataset>
type LabelsysDataset struct {
	ID          int64     `gorm:"column:id;primaryKey;autoIncrement:true;comment:数据集id" json:"id"`            // 数据集id
	Name        string    `gorm:"column:name;not null;comment:数据集名称" json:"name"`                             // 数据集名称
	Description string    `gorm:"column:description;comment:数据集描述" json:"description"`                        // 数据集描述
	State       int32     `gorm:"column:state;comment:数据集状态" json:"state"`                                    // 数据集状态
	Type        string    `gorm:"column:type;not null;comment:数据集类型" json:"type"`                             // 数据集类型
	Scene       string    `gorm:"column:scene;not null;comment:标注场景" json:"scene"`                            // 标注场景
	Sort        int32     `gorm:"column:sort;comment:排序" json:"sort"`                                         // 排序
	LabelCount  int32     `gorm:"column:label_count;comment:标签数量" json:"label_count"`                         // 标签数量
	ImgCount    int32     `gorm:"column:img_count;comment:图片数量" json:"img_count"`                             // 图片数量
	BucketID    int64     `gorm:"column:bucket_id;comment:存储" json:"bucket_id"`                               // 存储
	Deleted     int32     `gorm:"column:deleted;not null;comment:是否删除 0 否 1 是" json:"deleted"`                // 是否删除 0 否 1 是
	CreateTime  time.Time `gorm:"column:create_time;not null;comment:创建时间;autoCreateTime" json:"create_time"` // 创建时间
	UpdateTime  time.Time `gorm:"column:update_time;not null;comment:更新时间;autoUpdateTime" json:"update_time"` // 更新时间

}

// TableName LabelsysDataset's table name
func (*LabelsysDataset) TableName() string {
	return TableNameLabelsysDataset
}

const TableNameLabelsysDatasetImage = "labelsys_dataset_image"

// LabelsysDatasetImage mapped from table <labelsys_dataset_image>
type LabelsysDatasetImage struct {
	ID         int64     `gorm:"column:id;primaryKey;autoIncrement:true;comment:图片id" json:"id"`             // 图片id
	DatasetID  int64     `gorm:"column:dataset_id;not null;comment:所属数据集" json:"dataset_id"`                 // 所属数据集
	Src        string    `gorm:"column:src;not null;comment:图片地址" json:"src"`                                // 图片地址
	Name       string    `gorm:"column:name;comment:图片名称" json:"name"`                                       // 图片名称
	State      int32     `gorm:"column:state;comment:图片状态 0 待处理 1 已标注 2 无目标 3 已清洗" json:"state"`             // 图片状态 0 待处理 1 已标注 2 无目标 3 已清洗
	Audit      int32     `gorm:"column:audit;comment:审核 0 未审核 1 已审核 2 已归档" json:"audit"`                     // 审核 0 未审核 1 已审核 2 已归档
	Sort       int32     `gorm:"column:sort;comment:排序" json:"sort"`                                         // 排序
	Width      int32     `gorm:"column:width;comment:图片宽" json:"width"`                                      // 图片宽
	Height     int32     `gorm:"column:height;comment:图片高" json:"height"`                                    // 图片高
	RefID      int64     `gorm:"column:ref_id;comment:关联图片" json:"ref_id"`                                   // 关联图片
	Deleted    int32     `gorm:"column:deleted;comment:删除" json:"deleted"`                                   // 删除
	CreateTime time.Time `gorm:"column:create_time;not null;comment:创建时间;autoCreateTime" json:"create_time"` // 创建时间
	UpdateTime time.Time `gorm:"column:update_time;not null;comment:更新时间;autoUpdateTime" json:"update_time"` // 更新时间
}

// TableName LabelsysDatasetImage's table name
func (*LabelsysDatasetImage) TableName() string {
	return TableNameLabelsysDatasetImage
}

const TableNameLabelsysDatasetLabel = "labelsys_dataset_label"

// LabelsysDatasetLabel mapped from table <labelsys_dataset_label>
type LabelsysDatasetLabel struct {
	ID         int64     `gorm:"column:id;primaryKey;autoIncrement:true;comment:标签id" json:"id"`             // 标签id
	Name       string    `gorm:"column:name;not null;comment:标签名称" json:"name"`                              // 标签名称
	Remark     string    `gorm:"column:remark;comment:备注信息" json:"remark"`                                   // 备注信息
	DatasetID  int64     `gorm:"column:dataset_id;not null;comment:所属数据集" json:"dataset_id"`                 // 所属数据集
	ImgCount   int32     `gorm:"column:img_count;not null;comment:关联图片数量" json:"img_count"`                  // 关联图片数量
	LabelTotal int32     `gorm:"column:label_total;not null;comment:标签数量" json:"label_total"`                // 标签数量
	Color      string    `gorm:"column:color;comment:颜色" json:"color"`                                       // 颜色
	CategoryID int64     `gorm:"column:category_id;comment:所属分类" json:"category_id"`                         // 所属分类
	Thumb      string    `gorm:"column:thumb;comment:微缩图" json:"thumb"`                                      // 微缩图
	Filename   string    `gorm:"column:filename;comment:文件名" json:"filename"`                                // 文件名
	Deleted    int32     `gorm:"column:deleted;comment:是否删除" json:"deleted"`                                 // 是否删除
	CreateTime time.Time `gorm:"column:create_time;not null;comment:创建时间;autoCreateTime" json:"create_time"` // 创建时间
	UpdateTime time.Time `gorm:"column:update_time;not null;comment:更新时间;autoUpdateTime" json:"update_time"` // 更新时间
}

// TableName LabelsysDatasetLabel's table name
func (*LabelsysDatasetLabel) TableName() string {
	return TableNameLabelsysDatasetLabel
}
